cc.Class({
    extends: cc.Component,

    properties: {
        textLabel: cc.Label,            // 输入框显示文本
        min: cc.Integer,                // 最小值
        max: cc.Integer,                // 最大值
    },

    // LIFE-CYCLE CALLBACKS:
    onLoad() {
        // 刚开始显示设置的小值
        this.textLabel.node.active = true;
        this.textLabel.string = String(this.min);
    },

    up() {
        // 调高数字
        let temp = (Number(this.textLabel.string) + 1);
        if (temp > this.max) {
            return;
        }
        else {
            this.textLabel.string = String(temp);
        }
    },

    down() {
        // 调低数字
        let temp = (Number(this.textLabel.string) - 1);
        if (temp < this.min) {
            return;
        }
        else {
            this.textLabel.string = String(temp);
        }
    },
    
    inputBegin() {
        // 输入开始
        this.temp = this.textLabel.string;
    },

    inputDone() {
        // 输入结束
        if (isNaN(this.textLabel.string)) {
            this.textLabel.string = this.temp;                     // 如果输入非数字则数字不变
        }
        else if (Number(this.textLabel.string) > this.max) {       // 输入数字不能超过最大值
            this.textLabel.string = String(this.max);
        }
        else if (Number(this.textLabel.string) < this.min) {       // 输入数字不能小于最小值
            this.textLabel.string = String(this.min);
        }
    }
});
